//阚子路、张译文
#ifndef LOAD_H
#define LOAD_H
#include "ComponentParam.h"
#include <QDialog>
namespace Ui {
class Load;
}

class Load : public QDialog
{
    Q_OBJECT

public:
    explicit Load(QWidget *parent = nullptr);
    ~Load();

    // 提供接口：获取用户输入的负载属性值
    double getPower() const;    // 获取负载功率（核心属性，与其他组件保持一致）
    double getEfficiency() const; // 获取负载相关效率（如负载损耗效率，按需扩展）

    void on_confirmBtn_clicked(); // 确定按钮点击事件（与柴油发电机/电网等组件交互逻辑对齐）
    void on_cancelBtn_clicked();  // 取消按钮点击事件（统一交互模式）

private slots:
    void on_buttonBox_accepted(); // 按钮盒确认触发（若使用QDialogButtonBox，保持槽函数命名一致）

private:
    Ui::Load *ui; // 负载对话框UI对象（绑定Load.ui文件）

signals:
    // 发射“修改后的负载参数”信号，供MainWindow接收并更新仿真器
    void paramsUpdated(const ComponentParam& param);
};

#endif // LOAD_H
